library(RPostgreSQL)
library(sf)
library(plotly)
library(leaflet)
library(crosstalk)
pw <- scan("~/.pgpass2", what="")
conn = dbConnect(PostgreSQL(), dbname='nycgis', user='postgres', host='mlt_host', password=pw)
boroughs <- st_read_db(conn=conn, table=c("staging","boroughs_nowater"))
boroughs$x <- seq(1:5)
boroughs$y <- seq(2,10,2)
boroughs_centroids <- st_transform(st_centroid(boroughs),crs = 4326)
sd_boroughs <- SharedData$new(boroughs_centroids)
test <- bscols(widths=c(3, NA, NA),
list(filter_slider("x", "X Value", sd_boroughs, ~x, step=1, round=-1, sep=""),
filter_slider("y", "Y Value", sd_boroughs, ~y, step=1, round=1)),
leaflet(sd_boroughs) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addPolygons(data=st_transform(boroughs, crs=4326),color = "#444444", weight = 1,
smoothFactor = 0.5,
opacity = 1.0,
fillOpacity = 0.5,
fillColor = ~colorQuantile("Greens", x)(x),
highlightOptions = highlightOptions(color = "white", weight = 2)) %>%
addCircleMarkers(radius=5, stroke=TRUE, color="yellow", weight=1,fillColor = "#03F",
opacity=1,fillOpacity=1,popup=~boroname),
plot_ly(sd_boroughs, x = ~x, y = ~y) %>%
add_markers(alpha = 0.5,text = ~paste('Borough: ', boroname)) %>%
#hoverinfo = 'text',
highlight("plotly_hover"))
test
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCmF1dGhvcjogTWlrZSBUcmVnbGlhCi0tLQoKCgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmxpYnJhcnkoUlBvc3RncmVTUUwpCmxpYnJhcnkoc2YpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGxlYWZsZXQpCmxpYnJhcnkoY3Jvc3N0YWxrKQoKcHcgPC0gc2Nhbigifi8ucGdwYXNzMiIsIHdoYXQ9IiIpCgpjb25uID0gZGJDb25uZWN0KFBvc3RncmVTUUwoKSwgZGJuYW1lPSdueWNnaXMnLCB1c2VyPSdwb3N0Z3JlcycsIGhvc3Q9J21sdF9ob3N0JywgcGFzc3dvcmQ9cHcpIAoKYm9yb3VnaHMgPC0gc3RfcmVhZF9kYihjb25uPWNvbm4sIHRhYmxlPWMoInN0YWdpbmciLCJib3JvdWdoc19ub3dhdGVyIikpCiAgICAgICAgICAgCmJvcm91Z2hzJHggPC0gc2VxKDE6NSkKYm9yb3VnaHMkeSA8LSBzZXEoMiwxMCwyKQoKYGBgCgoKYGBge3IsIGVjaG89VFJVRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0UsIHJlc3VsdHM9J2hpZGUnfQpib3JvdWdoc19jZW50cm9pZHMgPC0gc3RfdHJhbnNmb3JtKHN0X2NlbnRyb2lkKGJvcm91Z2hzKSxjcnMgPSA0MzI2KQoKc2RfYm9yb3VnaHMgPC0gU2hhcmVkRGF0YSRuZXcoYm9yb3VnaHNfY2VudHJvaWRzKQoKdGVzdCA8LSBic2NvbHMod2lkdGhzPWMoMywgTkEsIE5BKSwKICAgICAgICAgICAgICAgbGlzdChmaWx0ZXJfc2xpZGVyKCJ4IiwgIlggVmFsdWUiLCBzZF9ib3JvdWdocywgfngsIHN0ZXA9MSwgcm91bmQ9LTEsIHNlcD0iIiksCiAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3NsaWRlcigieSIsICJZIFZhbHVlIiwgc2RfYm9yb3VnaHMsIH55LCBzdGVwPTEsIHJvdW5kPTEpKSwKICAgICAgICAgICAgICBsZWFmbGV0KHNkX2Jvcm91Z2hzKSAlPiUgCiAgICAgICAgICAgICAgYWRkUHJvdmlkZXJUaWxlcyhwcm92aWRlcnMkQ2FydG9EQi5Qb3NpdHJvbikgJT4lCiAgICAgICAgICAgICAgICBhZGRQb2x5Z29ucyhkYXRhPXN0X3RyYW5zZm9ybShib3JvdWdocywgY3JzPTQzMjYpLGNvbG9yID0gIiM0NDQ0NDQiLCB3ZWlnaHQgPSAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtb290aEZhY3RvciA9IDAuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSAxLjAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHkgPSAwLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3IgPSB+Y29sb3JRdWFudGlsZSgiR3JlZW5zIiwgeCkoeCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0T3B0aW9ucyA9IGhpZ2hsaWdodE9wdGlvbnMoY29sb3IgPSAid2hpdGUiLCB3ZWlnaHQgPSAyKSkgJT4lIAogICAgICAgICAgICAgICAgIGFkZENpcmNsZU1hcmtlcnMocmFkaXVzPTUsIHN0cm9rZT1UUlVFLCBjb2xvcj0ieWVsbG93Iiwgd2VpZ2h0PTEsZmlsbENvbG9yID0gIiMwM0YiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eT0xLGZpbGxPcGFjaXR5PTEscG9wdXA9fmJvcm9uYW1lKSwKICAgICAgICAgICAgICBwbG90X2x5KHNkX2Jvcm91Z2hzLCB4ID0gfngsIHkgPSB+eSkgJT4lIAogICAgICAgICAgICAgIGFkZF9tYXJrZXJzKGFscGhhID0gMC41LHRleHQgPSB+cGFzdGUoJ0Jvcm91Z2g6ICcsIGJvcm9uYW1lKSkgJT4lCgogICAgICAgICAgICAgICNob3ZlcmluZm8gPSAndGV4dCcsCiAgICAgICAgICAgICAgaGlnaGxpZ2h0KCJwbG90bHlfaG92ZXIiKSkKYGBgCgpgYGB7ciwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgd2FybmluZz1GQUxTRX0KdGVzdApgYGAKCjxiciAvPgo8YnIgLz4K